

var form = document.querySelector('form')
var usernameInput = document.querySelector('[name="username"]')
var passwordInput = document.querySelector('[name="password"]')
var repasswordInput = document.querySelector('[name="repass"]')
var nicknameInput = document.querySelector('[name="nickname"]')

// 点击事件
form.onsubmit = function () {
    // 表单校验
    // 校验用户名
    var reg = /^[a-z0-9]\w{4,11}$/
    if (!reg.test(usernameInput.value)) {
        // alert("用户名不符合规范，应该是字母数字开头，5~12位")
        // return false
        layer.msg('用户名不符合规范', {
            icon: 2,
            time: 1500
        })
        return false
    }
    // 校验密码
    var reg = /^\w{6,12}$/
    if (!reg.test(passwordInput.value)) {
        // alert("密码不符合规范，应该是字母数字下划线开头，6~12位")
        // return false
        layer.msg('密码不符合规范', {
            icon: 2,
            time: 1500
        })
        return false
    }
    if (passwordInput.value !== repasswordInput.value) {
        // alert("两次密码不一致")
        // return false
        layer.msg('两次密码不一致', {
            icon: 2,
            time: 1500
        })
        return false
    }

    // 验证昵称
    if (nicknameInput.value === '') {
        layer.msg('昵称不能为空', {
            icon: 2,
            time: 1500
        })
        return false
    }

    // 发送ajax
    var xhr = new XMLHttpRequest
    xhr.open('post', 'http://localhost:8888/users/register')
    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    xhr.send(`username=${usernameInput.value}&password=${passwordInput.value}&rpassword=${repasswordInput.value}&nickname=${nicknameInput.value}`)
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status >= 200 && xhr.status < 300) {
                var res = xhr.responseText
                // console.log(res);
                res = JSON.parse(res)
                var {
                    code,
                    message
                } = res
                // alert(message)
                if (code === 1) {
                    layer.msg(message, {
                        icon: 1,
                        time: 1500
                    }, function () {
                        // 当对话框弹出并消失执行
                        location.href = "02.login.html"
                    })
                } else {
                    layer.msg(message, {
                        icon: 2,
                        time: 1500
                    })
                }
            }
        }
    }
    return false
}